﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MTGenome.MTG;
using System.ComponentModel.Composition;

namespace MTGenome.Gatherer
{
    [Export(typeof(IPlayer)), PartCreationPolicy(CreationPolicy.NonShared)]
    public sealed class Player : IPlayer
    {
        public Player()
        {
            Life = 20;
            Hand = new List<ICard>();
            Graveyard = new List<ICard>();
            CardsInPlay = new List<ICard>();
            CardsRemovedFromPlay = new List<ICard>();
        }

        public int Life
        {
            get;
            set;
        }

        public string Name
        {
            get;
            set;
        }

        [Import]
        public ILibrary Library
        {
            get;
            private set;
        }

        public IList<ICard> Hand
        {
            get;
            private set;
        }

        public IList<ICard> Graveyard
        {
            get;
            private set;
        }

        public IList<ICard> CardsInPlay
        {
            get;
            private set;
        }

        public IList<ICard> CardsRemovedFromPlay
        {
            get;
            private set;
        }
    }
}
